package cn.huixh.blindbox.service;

import cn.huixh.blindbox.pojo.bo.AccountFileBO;
import cn.huixh.blindbox.pojo.po.File;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @author huixh
 * @version 1.0
 * @date 2022/5/10 10:28
 */
public interface FileService extends IService< File > {
    /**
     * 文件校验
     *
     * @param bytes 文件字节数组
     * @param md5   文件md5
     */
    void fileVerify(byte[] bytes, String md5);

    /**
     * 文件上传
     *
     * @param accountFileBO 账户文件信息
     */
    void uploadFile(AccountFileBO accountFileBO);

    /**
     * 文件下载
     *
     * @param accountFileBO 账户文件信息
     * @return 文件字节数组
     */
    java.io.File downloadFile(AccountFileBO accountFileBO);

    /**
     * 文件删除
     *
     * @param accountId 账户id
     * @param fileId    文件id
     */
    void deleteFile(String accountId, String fileId);
}
